﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Platform.ObjectModel
{

	/// <summary>
	/// Identifica um object unicamente dentro do sistema
	/// </summary>
	[Obsolete("Não há necessidade de ter essa interface para identificar um documento.")]
	public interface IQualifiedDataObject
	{
		/// <summary>
		/// Obtém ou define o token que junto com o <see cref="QualifiedName"/> identifica únicamento o objeto dentro do sistema
		/// </summary>
		DocumentToken Token
		{ get; set; }

		/// <summary>
		/// Obtém o nome que identifica o objeto unicamento dentro da biblioteca
		/// </summary>
		DataObjectName QualifiedName
		{ get; }

		/// <summary>
		/// 
		/// </summary>
		/// <param name="fieldName"></param>
		/// <returns></returns>
		object this[ DataObjectName fieldName ]
		{ get; set; }
	}
}
